Metadata-Version: 2.1
Name: django-user-auth-asl2
Version: 0.1.4
Summary: A Django app to conduct web-based user authentication.
Home-page: https://asl.aero
Author: Nasir Khan
Author-email: nasirkhan97.bd@gmail.com
License: NasirTitas2022
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Python: >=3.8
License-File: LICENSE

==========
User Auth
==========

User Auth is a Django app to conduct web-based User Auth. For each question,
visitors can choose between a fixed number of answers.

Detailed documentation is in the "docs" directory.

Quick start
-----------
1. Dependency you have to install: ``pip install django-phonenumber-field djangorestframework djangorestframework-simplejwt phonenumbers django-rest-passwordreset Pillow``
    Add "User Auth" to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'django_rest_passwordreset',
        'phonenumber_field',
        'user',

    ]

2. Include the User Auth URLconf in your project urls.py like this::
    from django.urls import include
    path('api/user/', include('user.urls')),

3. Include the following line in your project settings.py like this::

    AUTH_USER_MODEL = 'user.User'

4. Run ``python manage.py makemigrations`` and ``python manage.py migrate`` to create the User Auth models.

5. Start the development server and visit http://127.0.0.1:8000/admin/
   to create a user (you'll need the Admin app enabled).

6. Visit http://127.0.0.1:8000/api/ to participate in the user auth.

7. all the url for particular action is given below,
    user registration, url: http://127.0.0.1:8000/api/users/, method: post, body:
    login, url: http://127.0.0.1:8000/api/auth/, method: post, body: username, password

    all user, url: http://127.0.0.1:8000/api/users/?limit=<any number. ex: 10>, method: get, body:
    retrieve single user, url: http://127.0.0.1:8000/api/users/<id>/, method: get, body:
    partial update user, url: http://127.0.0.1:8000/api/users/<id>/, method: patch, body:
    delete user, url: http://127.0.0.1:8000/api/users/<id>/, method: delete, body:
    update profile , http://127.0.0.1:8000/api/update_profile/, method: post
    change password, url: http://127.0.0.1:8000/api/change_password/, method: patch, body:{"old_password":"", "new_password":""}
    get refresh token, url: http://127.0.0.1:8000/api/token/refresh/, method: get, body:
    reset password , http://127.0.0.1:8000/api/password_reset/, method: post, body: {"email":"youremail@gmail.com"}


**We have used jwt authentication in this package**
So you need to add these following lines in your project settings.py file. 

REST_FRAMEWORK = {"DEFAULT_AUTHENTICATION_CLASSES": ["rest_framework_simplejwt.authentication.JWTAuthentication"]}

**If you want only authenticated permission for your api's then add the following lines**
REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated',]}


**If you want django model permission for your api's then add the following lines**
REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.DjangoModelPermissions']}

create group, url: http://127.0.0.1:8000/api/groups/, method: post, body:
all group, url: http://127.0.0.1:8000/api/groups/?limit=<any number. ex: 10>, method: get, body:
retrieve single group, url: http://127.0.0.1:8000/api/groups/<id>/, method: get, body:
partial update group, url: http://127.0.0.1:8000/api/groups/<id>/, method: patch, body:
delete group, url: http://127.0.0.1:8000/api/groups/<id>/, method: delete, body:
get user role, http://127.0.0.1:8000/api/user_role/ , method: get



